package cn.xmkeshe.dao;

import cn.xmkeshe.model.Line;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;
import java.util.Map;

public interface ILineDao {

//  是否添加新路线
  @Insert("insert into line(lid,start,end,status)values(#{lid},#{start},#{end},#{status})")
  public boolean doCreate(Line line);

//  通过Id查询路线是否存在
  @Select("select * from line where lid = #{lid}")
  public Line findById(String lid);

//  分页查询
  @Select("select * from line LIMIT #{currentPage},#{lineSize}")
//  public List<Line> findAllSplit(Map<String,Object> params);
//  相当于currentPage = （currentPage - 1）* lineSize，接收的是最新的currentPage
    public List<Line> findAllSplit(@Param("currentPage") int currentPage,@Param("lineSize") int lineSize);

//  统计数量
  @Select("select COUNT(lid) from line")
  public Integer getAllCount();

//  修改线路状态
  @Update("update line set status = #{status} where lid=#{lid}")
  public boolean doUpdateByLid(@Param("lid") String lid,@Param("status") int status);

//  查询状态为1的路线，车辆管理要用到
  @Select("select * from line where status = 1")
  public List<Line> findAll();

//  通过线路始发地或目的地查找线路
  @Select("select * from line where start like #{name} or end like #{name} LIMIT #{currentPage},#{lineSize}")
  public List<Line> findByName(@Param("currentPage") int currentPage, @Param("lineSize") int lineSize,@Param("name") String name);
}
